// components/custom08/custom08.js

import behavior from './behavior'
Component({
  behaviors: [behavior],
  // 在开发中，使用 behaviors 进行代码复用的时候
  // 组件和 behaviors 可能存在相同的字段
  // 1. 如果有同名的属性或方法，采用 “就近原则”，组件会覆盖 behavior 中的同名属性或方法
  // 2. 如果有同名的数据字段且都是对象类型，会进行对象合并，其余情况会 采用 “就近原则” 进行数据覆盖
  // 3. 生命周期函数和 observers 不会相互覆盖，会是在对应触发时机被逐个调用，也就是都会被执行 (先执行 behavior，在执行组件内部)
  /**
   * 组件的属性列表
   */
  properties: {
    label: {
      type: String,
      value: '我已拒绝该协议'
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    name: 'jax',
    obj: {
      name: 'lux'
    }
  },

  /**
   * 组件的方法列表
   */
  methods: {
    updateName() {
      this.setData({
        name: 'jax2'
      })
    }
  },
  lifetimes: {
    attached() {
      console.log('我是组件custom08的生命周期函数')
    }
  }

})